// 判断两数组是否相同
// newArr 为新数据 oldArr 为旧的数据
// 如果两个数组相同返回true 否则返回false;

export function judementSameArr(newArr:unknown[]|string[],oldArr:string[]):boolean{
    let count = 0;
    const leng = oldArr.length;
    for(let i in oldArr){
        for(let j in newArr){
            if(oldArr[i] === newArr[j]) count ++;
        }
    }
    return count === length ? true : false;
}

// 判断两个对象是否相同
// a是要比较的对象一 b 是要比较的对象二 相同返回true 否则返回false
export function isObjectValueEqual(a:{[key:string]:any},b:{[key:string]:any}){
    if(!a || !b) return false;
    let aPros = Object.getOwnPropertyNames(a);
    let bPros = Object.getOwnPropertyNames(b);
    if(aPros.length != bPros.length) return false;
    for(let i = 0;i<aPros.length;i++){
        let propName = aPros[i];
        let propA = a[propName] ;
        let propB = b[propName];
        if(!b.hasOwnProperty(propName)) return false;
        if(propA instanceof Object){
          if(!isObjectValueEqual(propA,propB)) return false;
        }else if(propA !== propB){
          return false;
        }
    }

}